<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>测试报告</title>
    <meta name="generator" content="HTMLTestReportCN 0.8.3"/>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <link href="http://libs.baidu.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
    <script src="http://libs.baidu.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
    
<style type="text/css" media="screen">
body        { font-family: Microsoft YaHei,Tahoma,arial,helvetica,sans-serif;padding: 20px; font-size: 100%; }
table       { font-size: 100%; }

/* -- heading ---------------------------------------------------------------------- */
.heading {
    margin-top: 0ex;
    margin-bottom: 1ex;
}

.heading .description {
    margin-top: 4ex;
    margin-bottom: 6ex;
}

/* -- report ------------------------------------------------------------------------ */
#total_row  { font-weight: bold; }
.passCase   { color: #5cb85c; }
.failCase   { color: #d9534f; font-weight: bold; }
.errorCase  { color: #f0ad4e; font-weight: bold; }
.hiddenRow  { display: none; }
.testcase   { margin-left: 2em; }
</style>

</head>
<body >
<div class='heading'>
<h1 style="font-family: Microsoft YaHei">测试报告</h1>
<p class='attribute'><strong>测试人员 : </strong> 虞俊</p>
<p class='attribute'><strong>开始时间 : </strong> 2024-12-19 10:47:20</p>
<p class='attribute'><strong>合计耗时 : </strong> 0:00:11.693606</p>
<p class='attribute'><strong>测试结果 : </strong> 共 11，通过 8，失败 3，通过率= 72.73%</p>

<p class='description'>登录测试</p>
</div>



<p id='show_detail_line'>
<a class="btn btn-primary" href='javascript:showCase(4)'>概要{ 72.73% }</a>
<a class="btn btn-success" href='javascript:showCase(0)'>通过{ 8 }</a>
<a class="btn btn-danger" href='javascript:showCase(1)'>失败{ 3 }</a>
<a class="btn btn-warning" href='javascript:showCase(2)'>错误{ 0 }</a>
<a class="btn btn-info" href='javascript:showCase(3)'>所有{ 11 }</a>
</p>
<table id='result_table' class="table table-condensed table-bordered table-hover">
<colgroup>
<col align='left' />
<col align='right' />
<col align='right' />
<col align='right' />
<col align='right' />
<col align='right' />
</colgroup>
<tr id='header_row' class="text-center active" style="font-weight: bold;font-size: 14px;">
    <td>用例集/测试用例</td>
    <td>总计</td>
    <td>通过</td>
    <td>失败</td>
    <td>错误</td>
    <td>详细</td>
</tr>

<tr class='success'>
    <td>scripts.test02_xhx_login.XhxLogin</td>
    <td class="text-center">1</td>
    <td class="text-center">1</td>
    <td class="text-center">0</td>
    <td class="text-center">0</td>
    <td class="text-center"><a href="javascript:showClassDetail('c1',1)" class="detail" id='c1'>详细</a></td>
</tr>

<tr id='pt1_1' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test01_xhx_login</div></td>
    <td colspan='5' align='center'>
    <!--默认收起output信息 -Findyou
    <button id='btn_pt1_1' type="button"  class="btn-xs collapsed" data-toggle="collapse" data-target='#div_pt1_1'>通过</button>
    <div id='div_pt1_1' class="collapse">  -->

    <!-- 默认展开output信息 -Findyou -->
    <button id='btn_pt1_1' type="button"  class="btn-xs" data-toggle="collapse" data-target='#div_pt1_1'>通过</button>
    <div id='div_pt1_1' class="collapse in">
    <pre>
    
pt1_1: {'error': 0, 'data': 'm0005267_ffa18eb1d6f3912494e57d93e9c760f5552'}
m0005267_ffa18eb1d6f3912494e57d93e9c760f5552
[{'token': 'nbl5Ynt6li9kg64d2nqpo0N2uocnFLv4fmCFZbELf8iBE0I2EsP1QJ9ieEfd-002', 'xhx_token': {'xhxtoken': 'm0005267_ffa18eb1d6f3912494e57d93e9c760f5552'}}]


    </pre>
    </div>
    </td>
</tr>

<tr class='danger'>
    <td>scripts.test04_getbattle_detail.GetBattleDetail</td>
    <td class="text-center">1</td>
    <td class="text-center">0</td>
    <td class="text-center">1</td>
    <td class="text-center">0</td>
    <td class="text-center"><a href="javascript:showClassDetail('c2',1)" class="detail" id='c2'>详细</a></td>
</tr>

<tr id='ft2_1' class='none'>
    <td class='failCase'><div class='testcase'>test01_getBattleDetail</div></td>
    <td colspan='5' align='center'>
    <!--默认收起output信息 -Findyou
    <button id='btn_ft2_1' type="button"  class="btn-xs collapsed" data-toggle="collapse" data-target='#div_ft2_1'>失败</button>
    <div id='div_ft2_1' class="collapse">  -->

    <!-- 默认展开output信息 -Findyou -->
    <button id='btn_ft2_1' type="button"  class="btn-xs" data-toggle="collapse" data-target='#div_ft2_1'>失败</button>
    <div id='div_ft2_1' class="collapse in">
    <pre>
    
ft2_1: Request URL: http://xhx.xsit.kaikela.cn/goproxy
Request status: 500
Request Headers: {'User-Agent': 'python-requests/2.27.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': 'xhxtoken=m0005267_ffa18eb1d6f3912494e57d93e9c760f5552', 'Content-Length': '146', 'Content-Type': 'application/json'}
Request Body: b'{"service_name": "nkomarket.BattleDashboardProvider.BattleMemberDetail", "param": {"queryDto": {"battleId": 456, "stage": -1, "teacherId": 3367}}}'
响应信息：{'code': 500, 'msg': 'maybe the client read timeout or fail to decode tcp stream in Writer.Write', 'group': 'sit', 'data': None}
Traceback (most recent call last):
  File "C:\Users\004121\Desktop\kaikela\scripts\test04_getbattle_detail.py", line 29, in test01_getBattleDetail
    self.assertEqual("ok",response.json().get("msg"))
AssertionError: 'ok' != 'maybe the client read timeout or fail to decode tcp stream in Writer.Write'
- ok
+ maybe the client read timeout or fail to decode tcp stream in Writer.Write



    </pre>
    </div>
    </td>
</tr>

<tr class='danger'>
    <td>scripts.test03_getbattlelist.GetBattleList</td>
    <td class="text-center">1</td>
    <td class="text-center">0</td>
    <td class="text-center">1</td>
    <td class="text-center">0</td>
    <td class="text-center"><a href="javascript:showClassDetail('c3',1)" class="detail" id='c3'>详细</a></td>
</tr>

<tr id='ft3_1' class='none'>
    <td class='failCase'><div class='testcase'>test01_getBattleList</div></td>
    <td colspan='5' align='center'>
    <!--默认收起output信息 -Findyou
    <button id='btn_ft3_1' type="button"  class="btn-xs collapsed" data-toggle="collapse" data-target='#div_ft3_1'>失败</button>
    <div id='div_ft3_1' class="collapse">  -->

    <!-- 默认展开output信息 -Findyou -->
    <button id='btn_ft3_1' type="button"  class="btn-xs" data-toggle="collapse" data-target='#div_ft3_1'>失败</button>
    <div id='div_ft3_1' class="collapse in">
    <pre>
    
ft3_1: Traceback (most recent call last):
  File "C:\Users\004121\Desktop\kaikela\scripts\test03_getbattlelist.py", line 30, in test01_getBattleList
    self.assertEqual("ok",response.json().get("msg"))
AssertionError: 'ok' != 'maybe the client read timeout or fail to decode tcp stream in Writer.Write'
- ok
+ maybe the client read timeout or fail to decode tcp stream in Writer.Write



    </pre>
    </div>
    </td>
</tr>

<tr class='danger'>
    <td>scripts.test01_login.TestLogin</td>
    <td class="text-center">3</td>
    <td class="text-center">2</td>
    <td class="text-center">1</td>
    <td class="text-center">0</td>
    <td class="text-center"><a href="javascript:showClassDetail('c4',3)" class="detail" id='c4'>详细</a></td>
</tr>

<tr id='pt4_1' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test01_login_0</div></td>
    <td colspan='5' align='center'>
    <!--默认收起output信息 -Findyou
    <button id='btn_pt4_1' type="button"  class="btn-xs collapsed" data-toggle="collapse" data-target='#div_pt4_1'>通过</button>
    <div id='div_pt4_1' class="collapse">  -->

    <!-- 默认展开output信息 -Findyou -->
    <button id='btn_pt4_1' type="button"  class="btn-xs" data-toggle="collapse" data-target='#div_pt4_1'>通过</button>
    <div id='div_pt4_1' class="collapse in">
    <pre>
    
pt4_1: Request URL: http://kapi.ksit.kaikela.cn/api.do
Request status: 200
Request Headers: {'User-Agent': 'python-requests/2.27.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Length': '509', 'Content-Type': 'application/json'}
Request Body: b'{"secret_state": "F6D375DF5657B1D755C7FF709046D891", "service_name": "kusercen.LoginFacade.loginMobile", "strategy": "dubbo", "param": {"loginInfo": {"password": "6b3c802297ddc39034ced2771492c7f485376829d3e4d09a02ba79788951c67bf64", "mobileNo": "13221085986", "deviceId": "D414C492-80A2-4615-A640-B1E180036031", "clientType": "ios", "userAgent": "KKLOnLine/5.28.0 (iPhone; iOS 13.6; Scale/3.00; appVersion 5.28.0; XHX)", "loginIp": "172.17.2.49"}}, "token": "", "timestamp": "1668676167038", "client_id": "6"}'
响应体：{'code': '1000001', 'data': {'nCode': 1000001, 'resultObject': {'firstTimeLogin': False, 'class': 'la.kaike.kusercen.service.vo.LoginMobileVO', 'user': {'hasNotifyPerfectInfo': True, 'memberId': '202308140133641596', 'memberTag': 0, 'widgetUrl': '', 'classNotificationSwitch': True, 'currentTime': 1734576451490, 'teacherWxFlag': 0, 'chatBoxId': 0, 'userType': 'STUDENT', 'pwdLevel': 1, 'parentsModeName': '13221085986', 'chatBoxUrl': '', 'innerMember': 0, 'class': 'la.kaike.kusercen.service.vo.UserVO', 'showName': '132****5986', 'widgetId': 0, 'mobileNo': '132****5986', 'avatar': 'zimg/zimg/9700efbc70248814b16140528833f75d', 'backRealName': '13221085986', 'wechatMpBindFlag': 0, 'memberType': 1, 'fullPathAvatar': 'https://public-oss.kaike.la/zimg/zimg/9700efbc70248814b16140528833f75d', 'memberSource': '2', 'editNameFrequency': 0}, 'token': 'E0srz3HB7r5HlEsSh0Tadx3ipP9YD1Dj0dtKSCky7ztE3458IT49MMJVspVI-002'}}, 'message': '操作成功', 'serResult': True, 'sign': '213BD8458A385A839FA87C6568C32552', 'success': True}
令牌：E0srz3HB7r5HlEsSh0Tadx3ipP9YD1Dj0dtKSCky7ztE3458IT49MMJVspVI-002
[{'token': 'E0srz3HB7r5HlEsSh0Tadx3ipP9YD1Dj0dtKSCky7ztE3458IT49MMJVspVI-002', 'xhx_token': {'xhxtoken': 'm0005267_ffa18eb1d6f3912494e57d93e9c760f5552'}}]


    </pre>
    </div>
    </td>
</tr>

<tr id='pt4_2' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test01_login_1</div></td>
    <td colspan='5' align='center'>
    <!--默认收起output信息 -Findyou
    <button id='btn_pt4_2' type="button"  class="btn-xs collapsed" data-toggle="collapse" data-target='#div_pt4_2'>通过</button>
    <div id='div_pt4_2' class="collapse">  -->

    <!-- 默认展开output信息 -Findyou -->
    <button id='btn_pt4_2' type="button"  class="btn-xs" data-toggle="collapse" data-target='#div_pt4_2'>通过</button>
    <div id='div_pt4_2' class="collapse in">
    <pre>
    
pt4_2: Request URL: http://kapi.ksit.kaikela.cn/api.do
Request status: 200
Request Headers: {'User-Agent': 'python-requests/2.27.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Length': '509', 'Content-Type': 'application/json'}
Request Body: b'{"secret_state": "F6D375DF5657B1D755C7FF709046D891", "service_name": "kusercen.LoginFacade.loginMobile", "strategy": "dubbo", "param": {"loginInfo": {"password": "6b3c802297ddc39034ced2771492c7f485376829d3e4d09a02ba79788951c67bf64", "mobileNo": "13221085987", "deviceId": "D414C492-80A2-4615-A640-B1E180036031", "clientType": "ios", "userAgent": "KKLOnLine/5.28.0 (iPhone; iOS 13.6; Scale/3.00; appVersion 5.28.0; XHX)", "loginIp": "172.17.2.49"}}, "token": "", "timestamp": "1668676167038", "client_id": "6"}'
响应体：{'code': '1000002', 'data': {'nCode': 1000002}, 'message': '该手机未注册', 'serResult': True, 'sign': '3FCCD1F5D09E961602A54CDF1C9A6627', 'success': False}
error:'NoneType' object has no attribute 'get'


    </pre>
    </div>
    </td>
</tr>

<tr id='ft4_3' class='none'>
    <td class='failCase'><div class='testcase'>test01_login_2</div></td>
    <td colspan='5' align='center'>
    <!--默认收起output信息 -Findyou
    <button id='btn_ft4_3' type="button"  class="btn-xs collapsed" data-toggle="collapse" data-target='#div_ft4_3'>失败</button>
    <div id='div_ft4_3' class="collapse">  -->

    <!-- 默认展开output信息 -Findyou -->
    <button id='btn_ft4_3' type="button"  class="btn-xs" data-toggle="collapse" data-target='#div_ft4_3'>失败</button>
    <div id='div_ft4_3' class="collapse in">
    <pre>
    
ft4_3: Request URL: http://kapi.ksit.kaikela.cn/api.do
Request status: 200
Request Headers: {'User-Agent': 'python-requests/2.27.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Length': '509', 'Content-Type': 'application/json'}
Request Body: b'{"secret_state": "F6D375DF5657B1D755C7FF709046D891", "service_name": "kusercen.LoginFacade.loginMobile", "strategy": "dubbo", "param": {"loginInfo": {"password": "6b3c802297ddc39034ced2771492c7f485376829d3e4d09a02ba79788951c67bf64", "mobileNo": "16000000003", "deviceId": "D414C492-80A2-4615-A640-B1E180036031", "clientType": "ios", "userAgent": "KKLOnLine/5.28.0 (iPhone; iOS 13.6; Scale/3.00; appVersion 5.28.0; XHX)", "loginIp": "172.17.2.49"}}, "token": "", "timestamp": "1668676167038", "client_id": "6"}'
响应体：{'code': '1000002', 'data': {'nCode': 1000002}, 'message': '用户名密码不匹配', 'serResult': True, 'sign': '3FCCD1F5D09E961602A54CDF1C9A6627', 'success': False}
Traceback (most recent call last):
  File "C:\Users\004121\AppData\Local\Programs\Python\Python36\lib\site-packages\parameterized\parameterized.py", line 533, in standalone_func
    return func(*(a + p.args), **p.kwargs)
  File "C:\Users\004121\Desktop\kaikela\scripts\test01_login.py", line 38, in test01_login
    common_assert(self,response_json,testexpect)
  File "C:\Users\004121\Desktop\kaikela\utils.py", line 10, in common_assert
    case.assertEqual(testexpect, response_json.get("message"))
AssertionError: '用户名密码不匹配2' != '用户名密码不匹配'
- 用户名密码不匹配2
?         -
+ 用户名密码不匹配



    </pre>
    </div>
    </td>
</tr>

<tr class='success'>
    <td>scripts.test05_importorder.TestImportOrder</td>
    <td class="text-center">2</td>
    <td class="text-center">2</td>
    <td class="text-center">0</td>
    <td class="text-center">0</td>
    <td class="text-center"><a href="javascript:showClassDetail('c5',2)" class="detail" id='c5'>详细</a></td>
</tr>

<tr id='pt5_1' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test01_importOrder_0_17000002029</div></td>
    <td colspan='5' align='center'>
    <!--默认收起output信息 -Findyou
    <button id='btn_pt5_1' type="button"  class="btn-xs collapsed" data-toggle="collapse" data-target='#div_pt5_1'>通过</button>
    <div id='div_pt5_1' class="collapse">  -->

    <!-- 默认展开output信息 -Findyou -->
    <button id='btn_pt5_1' type="button"  class="btn-xs" data-toggle="collapse" data-target='#div_pt5_1'>通过</button>
    <div id='div_pt5_1' class="collapse in">
    <pre>
    
pt5_1: Request URL: http://kapi.ksit.kaikela.cn/api.do
Request status: 200
Request Headers: {'User-Agent': 'python-requests/2.27.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Length': '753', 'Content-Type': 'application/json'}
Request Body: b'{"service_name": "salesmng.OrderBackFacade.batchImportOrderList", "client_id": "6", "strategy": "dubbo", "timestamp": 1668676167038, "token": "E0srz3HB7r5HlEsSh0Tadx3ipP9YD1Dj0dtKSCky7ztE3458IT49MMJVspVI-002", "param": {"backOrderList": [{"memberPhone": "17000002029", "productIds": "90003254", "classIds": "123789", "provinceId": 35738, "cityId": 52230, "countyId": 14269, "contact": "\\u5f20\\u4e09", "mobileNo": "17000002029", "addressDetail": "\\u5f00\\u8bfe\\u5566", "odType": 1, "odBizType": 1, "lookPlatformId": 1, "importMemberDTO": {"realName": "\\u5f20\\u4e09", "grade": 7, "schoolId": 132537, "classes": 79, "mathScore": 100, "scienceScore": 100, "schoolRank": 10}, "areaId": 76061, "checkStock": "true", "classType": "7"}], "operator": "6PaxK0sx"}}'
响应信息：{'code': '1000001', 'data': {'nCode': 1000001, 'resultList': [{'memberPhone': '17000002029', 'orderNo': 'xhx173457645173312002029', 'errorMessage': '你已经报名成功，无需再购买哦，重复的课节id：[21581, 21582, 21583, 21584]', 'errorCode': 'ASSERT_ERROR', 'class': 'cn.estudy.salesmng.order.vo.BackImportOrderVO', 'isSuccess': False}]}, 'message': '操作成功', 'serResult': True, 'sign': '9C3D66E3803DAEA92120F230FA5CFF6C', 'success': True}


    </pre>
    </div>
    </td>
</tr>

<tr id='pt5_2' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test01_importOrder_1_17000002030</div></td>
    <td colspan='5' align='center'>
    <!--默认收起output信息 -Findyou
    <button id='btn_pt5_2' type="button"  class="btn-xs collapsed" data-toggle="collapse" data-target='#div_pt5_2'>通过</button>
    <div id='div_pt5_2' class="collapse">  -->

    <!-- 默认展开output信息 -Findyou -->
    <button id='btn_pt5_2' type="button"  class="btn-xs" data-toggle="collapse" data-target='#div_pt5_2'>通过</button>
    <div id='div_pt5_2' class="collapse in">
    <pre>
    
pt5_2: Request URL: http://kapi.ksit.kaikela.cn/api.do
Request status: 200
Request Headers: {'User-Agent': 'python-requests/2.27.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Length': '753', 'Content-Type': 'application/json'}
Request Body: b'{"service_name": "salesmng.OrderBackFacade.batchImportOrderList", "client_id": "6", "strategy": "dubbo", "timestamp": 1668676167038, "token": "E0srz3HB7r5HlEsSh0Tadx3ipP9YD1Dj0dtKSCky7ztE3458IT49MMJVspVI-002", "param": {"backOrderList": [{"memberPhone": "17000002030", "productIds": "90003254", "classIds": "123789", "provinceId": 35738, "cityId": 52230, "countyId": 14269, "contact": "\\u5f20\\u4e09", "mobileNo": "17000002030", "addressDetail": "\\u5f00\\u8bfe\\u5566", "odType": 1, "odBizType": 1, "lookPlatformId": 1, "importMemberDTO": {"realName": "\\u5f20\\u4e09", "grade": 7, "schoolId": 132537, "classes": 79, "mathScore": 100, "scienceScore": 100, "schoolRank": 10}, "areaId": 76061, "checkStock": "true", "classType": "7"}], "operator": "6PaxK0sx"}}'
响应信息：{'code': '1000001', 'data': {'nCode': 1000001, 'resultList': [{'memberPhone': '17000002030', 'orderNo': 'xhx173457645195925002030', 'errorMessage': '你已经报名成功，无需再购买哦，重复的课节id：[21581, 21582, 21583, 21584]', 'errorCode': 'ASSERT_ERROR', 'class': 'cn.estudy.salesmng.order.vo.BackImportOrderVO', 'isSuccess': False}]}, 'message': '操作成功', 'serResult': True, 'sign': '989A33E172E60BB0D1CC6A182E558918', 'success': True}


    </pre>
    </div>
    </td>
</tr>

<tr class='success'>
    <td>scripts.test06_createOrUpdateSignExam.TestCreateOrUpdateSignExam</td>
    <td class="text-center">1</td>
    <td class="text-center">1</td>
    <td class="text-center">0</td>
    <td class="text-center">0</td>
    <td class="text-center"><a href="javascript:showClassDetail('c6',1)" class="detail" id='c6'>详细</a></td>
</tr>

<tr id='pt6_1' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test01_createOrUpdateSignExam</div></td>
    <td colspan='5' align='center'>
    <!--默认收起output信息 -Findyou
    <button id='btn_pt6_1' type="button"  class="btn-xs collapsed" data-toggle="collapse" data-target='#div_pt6_1'>通过</button>
    <div id='div_pt6_1' class="collapse">  -->

    <!-- 默认展开output信息 -Findyou -->
    <button id='btn_pt6_1' type="button"  class="btn-xs" data-toggle="collapse" data-target='#div_pt6_1'>通过</button>
    <div id='div_pt6_1' class="collapse in">
    <pre>
    
pt6_1: Request URL: http://kapi.ksit.kaikela.cn/api.do
Request status: 200
Request Headers: {'User-Agent': 'python-requests/2.27.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Length': '1141', 'Content-Type': 'application/json'}
Request Body: b'{"param": {"signExamDTO": {"multipleClassSubjectList": [2], "examType": 2, "id": null, "can_edit": "0", "examName": "C\\u7aef\\u8bca\\u65ad2024-12-19 10:47:32", "subjectId": 2, "grade": 7, "bookVersion": 2, "startTime": 1734576512000, "endTime": 1734583652000, "groupPaperList": [{"examResultLevelList": [{"levelDataKey": 7, "levelPassScore": 10}, {"levelDataKey": 8, "levelPassScore": 20}], "groupPaperId": 1001857, "paperType": 1, "nextVisibleScore": 30}, {"examResultLevelList": [{"levelDataKey": 7, "levelPassScore": 10}, {"levelDataKey": 8, "levelPassScore": 20}], "groupPaperId": 1001859, "paperType": 1, "nextVisibleScore": 30}, {"examResultLevelList": [{"levelDataKey": 5, "levelPassScore": 20}, {"levelDataKey": 9, "levelPassScore": 30}], "groupPaperId": 1000514, "paperType": 2, "nextVisibleScore": 0}], "temporaryStatus": false, "suitStage": 1, "feedbackTask": 0, "examId": null, "updator": "5267", "operator": "5267"}}, "client_id": "6", "service_name": "learnprod.ExamManageFacade.createOrUpdateSignExam", "strategy": "dubbo", "timestamp": 1668676167038, "token": "E0srz3HB7r5HlEsSh0Tadx3ipP9YD1Dj0dtKSCky7ztE3458IT49MMJVspVI-002"}'
{'code': '1000001', 'data': {'nCode': 1000001, 'resultObject': 2359}, 'message': '操作成功', 'serResult': True, 'sign': '4502DDAC2A23714865834FFED8C08E2D', 'success': True}
诊断id：2359


    </pre>
    </div>
    </td>
</tr>

<tr class='success'>
    <td>scripts.test07_getExamExplain.TestExplain</td>
    <td class="text-center">2</td>
    <td class="text-center">2</td>
    <td class="text-center">0</td>
    <td class="text-center">0</td>
    <td class="text-center"><a href="javascript:showClassDetail('c7',2)" class="detail" id='c7'>详细</a></td>
</tr>

<tr id='pt7_1' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test01_getExamExplain_0_17000002029</div></td>
    <td colspan='5' align='center'>
    <!--默认收起output信息 -Findyou
    <button id='btn_pt7_1' type="button"  class="btn-xs collapsed" data-toggle="collapse" data-target='#div_pt7_1'>通过</button>
    <div id='div_pt7_1' class="collapse">  -->

    <!-- 默认展开output信息 -Findyou -->
    <button id='btn_pt7_1' type="button"  class="btn-xs" data-toggle="collapse" data-target='#div_pt7_1'>通过</button>
    <div id='div_pt7_1' class="collapse in">
    <pre>
    
pt7_1: b601a72ad586bb218bdc980db62e940f7603e8e017b2c65692c053e151efae52239
Request URL: http://kapi.ksit.kaikela.cn/api.do
Request status: 200
Request Headers: {'User-Agent': 'python-requests/2.27.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Length': '509', 'Content-Type': 'application/json'}
Request Body: b'{"secret_state": "F6D375DF5657B1D755C7FF709046D891", "service_name": "kusercen.LoginFacade.loginMobile", "strategy": "dubbo", "param": {"loginInfo": {"password": "b601a72ad586bb218bdc980db62e940f7603e8e017b2c65692c053e151efae52239", "mobileNo": "17000002029", "deviceId": "D414C492-80A2-4615-A640-B1E180036031", "clientType": "ios", "userAgent": "KKLOnLine/5.28.0 (iPhone; iOS 13.6; Scale/3.00; appVersion 5.28.0; XHX)", "loginIp": "172.17.2.49"}}, "token": "", "timestamp": "1668676167038", "client_id": "6"}'
17000002029:token = gFCe1AwY2qtDtTmUGBq8UKhfsr5qlHmZeKByA5ejWVR78MXN2pdcFwRSAD5Z-002
Request URL: http://kapi.ksit.kaikela.cn/api.do
Request status: 200
Request Headers: {'User-Agent': 'python-requests/2.27.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Length': '342', 'Content-Type': 'application/json'}
Request Body: b'{"param": {"reqVO": {"examId": 2359, "purposeId": null, "purposeType": 1, "examType": null, "groupPaperId": null, "examMemberId": null}}, "service_name": "learnprod.ExamMemberFacade.getExamExplain", "strategy": "dubbo", "client_id": "6", "timestamp": 1710468093669, "token": "gFCe1AwY2qtDtTmUGBq8UKhfsr5qlHmZeKByA5ejWVR78MXN2pdcFwRSAD5Z-002"}'
{'code': '1000001', 'data': {'nCode': 1000001, 'resultObject': {'enterExam': False, 'purpose': '本次测试有2次答题机会，目的在于了解你的基础知识水平，通过测试给你推荐最匹配课程。', 'examName': 'C端诊断2024-12-19 10:47:32', 'nextPaperType': 1, 'attentions': ['1、请提前准备好草稿纸和笔，一旦点击开始，即使用一次机会。', '2、请在规定时间内答完所有题目，如中途退出或者关闭网页，考试倒计时仍然继续计时，计时结束自动交卷。', '3、开课啦直播针对不同程度的学生，开设了不同的课程，报名诊断可以帮助自我定位，请认真答题。'], 'examOpportunityNum': 2, 'examType': 2, 'maxScore': 100, 'expiredTime': 1734583652000, 'examId': 2359, 'startTime': 1734576512000, 'firstFlag': 1, 'questionSum': 10, 'examTime': 608, 'class': 'la.kaike.learnprod.iface.exam.vo.resp.ExamDescriptionRespVO'}}, 'message': '操作成功', 'serResult': True, 'sign': '5DA9C2542B347EEB87C8535938B360F6', 'success': True}


    </pre>
    </div>
    </td>
</tr>

<tr id='pt7_2' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test01_getExamExplain_1_17000002030</div></td>
    <td colspan='5' align='center'>
    <!--默认收起output信息 -Findyou
    <button id='btn_pt7_2' type="button"  class="btn-xs collapsed" data-toggle="collapse" data-target='#div_pt7_2'>通过</button>
    <div id='div_pt7_2' class="collapse">  -->

    <!-- 默认展开output信息 -Findyou -->
    <button id='btn_pt7_2' type="button"  class="btn-xs" data-toggle="collapse" data-target='#div_pt7_2'>通过</button>
    <div id='div_pt7_2' class="collapse in">
    <pre>
    
pt7_2: 950582e88cb7c4dc1b3cae940b9125ea615b2324e6880400676f1495d49f3421009
Request URL: http://kapi.ksit.kaikela.cn/api.do
Request status: 200
Request Headers: {'User-Agent': 'python-requests/2.27.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Length': '509', 'Content-Type': 'application/json'}
Request Body: b'{"secret_state": "F6D375DF5657B1D755C7FF709046D891", "service_name": "kusercen.LoginFacade.loginMobile", "strategy": "dubbo", "param": {"loginInfo": {"password": "950582e88cb7c4dc1b3cae940b9125ea615b2324e6880400676f1495d49f3421009", "mobileNo": "17000002030", "deviceId": "D414C492-80A2-4615-A640-B1E180036031", "clientType": "ios", "userAgent": "KKLOnLine/5.28.0 (iPhone; iOS 13.6; Scale/3.00; appVersion 5.28.0; XHX)", "loginIp": "172.17.2.49"}}, "token": "", "timestamp": "1668676167038", "client_id": "6"}'
17000002030:token = GEdJfORvEuSbT1I2iVyJkWZMjZm2BTkmtL3PLOhb8iQOkdeZbXr4xKlEh13V-002
Request URL: http://kapi.ksit.kaikela.cn/api.do
Request status: 200
Request Headers: {'User-Agent': 'python-requests/2.27.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Length': '342', 'Content-Type': 'application/json'}
Request Body: b'{"param": {"reqVO": {"examId": 2359, "purposeId": null, "purposeType": 1, "examType": null, "groupPaperId": null, "examMemberId": null}}, "service_name": "learnprod.ExamMemberFacade.getExamExplain", "strategy": "dubbo", "client_id": "6", "timestamp": 1710468093669, "token": "GEdJfORvEuSbT1I2iVyJkWZMjZm2BTkmtL3PLOhb8iQOkdeZbXr4xKlEh13V-002"}'
{'code': '1000001', 'data': {'nCode': 1000001, 'resultObject': {'enterExam': False, 'purpose': '本次测试有2次答题机会，目的在于了解你的基础知识水平，通过测试给你推荐最匹配课程。', 'examName': 'C端诊断2024-12-19 10:47:32', 'nextPaperType': 1, 'attentions': ['1、请提前准备好草稿纸和笔，一旦点击开始，即使用一次机会。', '2、请在规定时间内答完所有题目，如中途退出或者关闭网页，考试倒计时仍然继续计时，计时结束自动交卷。', '3、开课啦直播针对不同程度的学生，开设了不同的课程，报名诊断可以帮助自我定位，请认真答题。'], 'examOpportunityNum': 2, 'examType': 2, 'maxScore': 100, 'expiredTime': 1734583652000, 'examId': 2359, 'startTime': 1734576512000, 'firstFlag': 1, 'questionSum': 10, 'examTime': 650, 'class': 'la.kaike.learnprod.iface.exam.vo.resp.ExamDescriptionRespVO'}}, 'message': '操作成功', 'serResult': True, 'sign': 'F2C009AF9E14E23FC3715B929525268E', 'success': True}


    </pre>
    </div>
    </td>
</tr>

<tr id='total_row' class="text-center info">
    <td>总计</td>
    <td>11</td>
    <td>8</td>
    <td>3</td>
    <td>0</td>
    <td>通过率：72.73%</td>
</tr>
</table>

<div id='ending'>&nbsp;</div>
    <div style=" position:fixed;right:50px; bottom:30px; width:20px; height:20px;cursor:pointer">
    <a href="#"><span class="glyphicon glyphicon-eject" style = "font-size:30px;" aria-hidden="true">
    </span></a></div>
    
<script language="javascript" type="text/javascript">
output_list = Array();
// 修改按钮颜色显示错误问题 --Findyou v0.8.2.3

$("button[id^='btn_pt']").addClass("btn btn-success");
$("button[id^='btn_ft']").addClass("btn btn-danger");
$("button[id^='btn_et']").addClass("btn btn-warning");

/*level
增加分类并调整，增加error按钮事件 --Findyou v0.8.2.3
0:Pass    //pt none, ft hiddenRow, et hiddenRow
1:Failed  //pt hiddenRow, ft none, et hiddenRow
2:Error    //pt hiddenRow, ft hiddenRow, et none
3:All     //pt none, ft none, et none
4:Summary //all hiddenRow
*/

//add Error button event --Findyou v0.8.2.3
function showCase(level) {
    trs = document.getElementsByTagName("tr");
    for (var i = 0; i < trs.length; i++) {
        tr = trs[i];
        id = tr.id;
        if (id.substr(0,2) == 'ft') {
            if (level == 0 || level == 2 || level == 4 ) {
                tr.className = 'hiddenRow';
            }
            else {
                tr.className = '';
            }
        }
        if (id.substr(0,2) == 'pt') {
            if (level == 1 || level == 2 || level == 4) {
                tr.className = 'hiddenRow';
            }
            else {
                tr.className = '';
            }
        }
        if (id.substr(0,2) == 'et') {
            if (level == 0 || level == 1 || level == 4) {
                tr.className = 'hiddenRow';
            }
            else {
                tr.className = '';
            }
        }
    }

    //加入【详细】切换文字变化 --Findyou
    detail_class=document.getElementsByClassName('detail');
	//console.log(detail_class.length)
	if (level == 3) {
		for (var i = 0; i < detail_class.length; i++){
			detail_class[i].innerHTML="收起"
		}
	}
	else{
			for (var i = 0; i < detail_class.length; i++){
			detail_class[i].innerHTML="详细"
		}
	}
}

//add Error button event --Findyou v0.8.2.3
function showClassDetail(cid, count) {
    var id_list = Array(count);
    var toHide = 1;
    for (var i = 0; i < count; i++) {
        tid0 = 't' + cid.substr(1) + '_' + (i+1);
        tid = 'f' + tid0;
        tr = document.getElementById(tid);
        if (!tr) {
            tid = 'p' + tid0;
            tr = document.getElementById(tid);
        }
        if (!tr) {
            tid = 'e' + tid0;
            tr = document.getElementById(tid);
        }
        id_list[i] = tid;
        if (tr.className) {
            toHide = 0;
        }
    }
    for (var i = 0; i < count; i++) {
        tid = id_list[i];
        //修改点击无法收起的BUG，加入【详细】切换文字变化 --Findyou
        if (toHide) {
            document.getElementById(tid).className = 'hiddenRow';
            document.getElementById(cid).innerText = "详细"
        }
        else {
            document.getElementById(tid).className = '';
            document.getElementById(cid).innerText = "收起"
        }
    }
}

function html_escape(s) {
    s = s.replace(/&/g,'&amp;');
    s = s.replace(/</g,'&lt;');
    s = s.replace(/>/g,'&gt;');
    return s;
}
</script>
</body>
</html>
